# 类方法：classmethod
# 装饰了这个以后，无需生成对象，可以直接通过类名去调用类方法
class Student:
    def __init__(self,name):
        self.name = name
    @classmethod
    def eat(self,food):
        print(f"吃东西：{food}")

# if __name__ == '__main__':
    # 我想直接调用eat方法，但是我又不想实例化对象
    """s1 = Student("文瀚")
    Student.eat(s1,"汉堡") # 这不还是创建了对象？"""
    # Student.eat("汉堡") # 通过类直接调用这个方法
#
#静态方法：被装饰的方法，就是一个普普通通的函数，不再是类方法了

class Teacher:
    def __init__(self,name):
        self.name = name
    @staticmethod
    def eat():
        print(f"吃东西")

if __name__ == '__main__':
    # 我想可以通过类直接调用，不需要传递类对象
    # 类对象也可以调用，舍弃self的方法，当成一个普通的方法
    Teacher.eat() # 通过类去调用的
    t1 = Teacher("侯雯中")
    t1.eat()






